var api = require('../../config/api.js');
var area = require('../../data/area')
var p = 0,
  c = 0,
  d = 0
var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    toast1Hidden: true,
    modalHidden: true,
    modalHidden2: true,
    notice_str: '',

    provinceName: [],
    provinceCode: [],
    provinceSelIndex: '',
    cityName: [],
    cityCode: [],
    citySelIndex: '',
    districtName: [],
    districtCode: [],
    districtSelIndex: '',
    showMessage: false,
    messageContent: '',
    showDistpicker: false,

    isAgree: false,
  },

  bindAgreeChange: function (e) {
    this.setData({
      isAgree: !!e.detail.value.length
    });
  },

  toast1Change: function (e) {
    this.setData({
      toast1Hidden: true
    });
  },

  //表单提交
  formSubmit: function (e) {
    var that = this;
    wx.showModal({
      title: '提示',
      content: '是否确认提交',
      confirmColor: "#43CBC9",
      success: (res) => {
        wx.showLoading({
          title: '加载中',
        })

        if (res.confirm) {

          var provinceName = this.data.provinceName[this.data.provinceSelIndex]
          var cityName = this.data.cityName[this.data.citySelIndex]
          var districtName = this.data.districtName[this.data.districtSelIndex]
          var deptAddress = provinceName + cityName + districtName + e.detail.value.address
          var username = e.detail.value.username

          var reg = /^[0-9a-zA-Z]+$/;
          var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
          var myReg = /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/;

   
          if (e.detail.value.trueName.length == 0) {
            wx.showToast({
              title: "真实姓名不能为空!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (e.detail.value.username.length == 0) {
            wx.showToast({
              title: "登录账号不能为空!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (!reg.test(username)) {
            wx.showToast({
              title: "登录账号只能由字母或数字组成!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (e.detail.value.mobile.length == 0) {
            wx.showToast({
              title: "手机号码不能为空!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (e.detail.value.mobile.length != 11) {
            wx.showToast({
              title: "手机号长度不正确!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (!myreg.test(e.detail.value.mobile)) {
            wx.showToast({
              title: '手机号格式有误！',
              icon: 'none',
              duration: 1500
            })
            return false;
          } else if (!myReg.test(e.detail.value.email)) {
            wx.showToast({
              title: "请填写正确的邮箱格式!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (that.data.provinceSelIndex == "" && that.data.provinceSelIndex !== 0) {
            wx.showToast({
              title: "请选择所在地区!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (e.detail.value.address.length == 0) {
            wx.showToast({
              title: "地址不能为空!",
              icon: 'none',
              duration: 2000
            });
            return false;
          } else if (that.data.isAgree == false) {
            wx.showToast({
              title: "请阅读相关条款并同意!",
              icon: 'none',
              duration: 2000
            });
            return false;
          }

            wx.request({
              url: api.PartNameVer + username,
              data: {},
              method: 'GET',
              header: {
                'Accept': 'application/json',
                'ACCESS-TOKEN': wx.getStorageSync('token')
              },

              success: function (res) {
                console.log("用户名唯一，验证成功！");
                if (res.data.success) {
                  wx.showLoading({
                    title: '数据提交中',
                  })
                  wx.request({
                    url: api.PartNerAdd,
                    data: {
                      trueName: e.detail.value.trueName,
                      username: e.detail.value.username,
                      mobile: e.detail.value.mobile,
                      email: e.detail.value.email,
                      note: e.detail.value.note,
                      address: deptAddress,
                      roleId: 3,
                    },
                    method: 'POST',
                    header: {
                      'Accept': 'application/json',
                      'ACCESS-TOKEN': wx.getStorageSync('token')
                    },

                    success: (res) => {

                      console.log("用户创建成功！");

                      wx.showLoading({
                        title: '加载中',
                      })

                      if (res.data.success) {
                        wx.showModal({
                          title: '提示',
                          content: res.data.msg,
                          confirmColor: "#43CBC9",
                          showCancel: false,
                          success: function (res) {
                            if (res.confirm) {
                              console.log('用户点击确定')
                              wx.navigateBack({})
                            }
                          }
                        });
                        wx.hideLoading();
                      }
                    },

                  })

                } else {
                  wx.showToast({
                    title: res.data.msg,
                    icon: 'none',
                    duration: 3000
                  });
                }

              },
              fail: function () {
                wx.hideLoading();
                wx.showToast({
                  title: "登录账号已存在，请重新输入！",
                  icon: 'none',
                  duration: 3000
                });
              },
            })

        } else if (res.cancel) {
          console.log('用户点击取消')
          wx.hideLoading();
        }
      }
    })
  },

  formReset: function () {
    this.setData({
      modalHidden2: false,
      isAgree: false,
      showDistpicker: false,
      provinceSelIndex: null,
    });

    wx.showToast({
      title: "清空成功！",
      icon: 'none',
      duration: 3000
    });
  },

  //弹出确认框  
  modalTap: function (e) {
    this.setData({
      modalHidden: true
    })
  },
  confirm_one: function (e) {
    this.setData({
      modalHidden: true,
      toast1Hidden: false,
      notice_str: '提交成功'
    });
  },
  cancel_one: function (e) {
    this.setData({
      modalHidden: true,
      toast1Hidden: false,
      notice_str: '取消成功'
    });
  },
  //弹出提示框  
  modalTap2: function (e) {
    this.setData({
      modalHidden2: false
    })
  },
  modalChange2: function (e) {
    this.setData({
      modalHidden2: true
    })
  },

  bindPickerChange: function (e) {
    this.setData({
      index: e.detail.value
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setAreaData()
  },
  setAreaData: function (p, c, d) {
    var p = p || 0 // provinceSelIndex
    var c = c || 0 // citySelIndex
    var d = d || 0 // districtSelIndex
    // 设置省的数据
    var province = area['100000']
    var provinceName = [];
    var provinceCode = [];
    for (var item in province) {
      provinceName.push(province[item])
      provinceCode.push(item)
    }
    this.setData({
      provinceName: provinceName,
      provinceCode: provinceCode
    })
    // 设置市的数据
    var city = area[provinceCode[p]]
    var cityName = [];
    var cityCode = [];
    for (var item in city) {
      cityName.push(city[item])
      cityCode.push(item)
    }
    this.setData({
      cityName: cityName,
      cityCode: cityCode
    })
    // 设置区的数据
    var district = area[cityCode[c]]
    var districtName = [];
    var districtCode = [];
    for (var item in district) {
      districtName.push(district[item])
      districtCode.push(item)
    }
    this.setData({
      districtName: districtName,
      districtCode: districtCode
    })
  },
  changeArea: function (e) {
    p = e.detail.value[0]
    c = e.detail.value[1]
    d = e.detail.value[2]
    this.setAreaData(p, c, d)
  },
  showDistpicker: function () {
    this.setData({
      showDistpicker: true
    })
  },
  distpickerCancel: function () {
    this.setData({
      showDistpicker: false
    })
  },
  distpickerSure: function () {
    this.setData({
      provinceSelIndex: p,
      citySelIndex: c,
      districtSelIndex: d
    })
    this.distpickerCancel()
  },
  showMessage: function (text) {
    var that = this
    that.setData({
      showMessage: true,
      messageContent: text
    })
    setTimeout(function () {
      that.setData({
        showMessage: false,
        messageContent: ''
      })
    }, 3000)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})